package by.exposit.service;

import by.exposit.domain.*;

import java.util.List;

/**
 * Created by HaRiA on 30.07.2014.
 */

public interface RequestService  extends Remove
{
    public  void saveRequest(Request request);

    public List<Request> requestList();

    public List<Request> requestUserList(Long userId);

    public List<Request> requestFieldList(User user);

    public Request getRequestByProject(Project project);

    public void changeStatusRequest(Request request, Status status);

    public void allocateMoney(Request request);

    public List<Request> satisfyRequest();

    public List<Request> financedButNotExecuted();

    public List<Request> totalFundsAllocatedForField(Field field);

    public float percentageOfSuccessfullyCompletedProjects(Field field);

    public long sumForConsiderRequest(Field field);

    public Request retrieveRequest(Long requestId);

}
